package com.wicket.okrframework.biz.service.dto.res;


import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;


@Data
public class OrgDto extends BaseDto implements Serializable {

    /**
     * 组织ID:
     */
    @ApiModelProperty("组织ID")
    private String organizationId;

    /**
     * 组织标识:
     */
    @ApiModelProperty("组织标识")
    private String organizationCode;

    /**
     * 组织编号:
     */
    @ApiModelProperty("组织编号")
    private String organizationNumber;

    /**
     * 组织名称:
     */
    @ApiModelProperty("组织名称")
    private String organizationName;

    /**
     * 是否最高组织:
     */
    @ApiModelProperty("是否最高组织")
    private String isHighOrg;

    /**
     * 空间组织架构模式:
     */
    @ApiModelProperty("空间组织架构模式")
    private String orgStructureModel;

    /**
     * 是否开启系统对接:
     */
    @ApiModelProperty("是否开启系统对接")
    private String isIntergration;

    /**
     * 是否启用流程审批:
     */
    @ApiModelProperty("是否启用流程审批")
    private String isOpenApprovalProcess;

    /**
     * 是否允许导入:
     */
    @ApiModelProperty("是否允许导入")
    private String isAllowImport;
    /**
     * 是否冻结:
     */
    @ApiModelProperty("是否冻结")
    private String status;
    /**
     * 创建于空间ID:
     */
    @ApiModelProperty("创建于空间ID")
    private String spaceId;
    /**
     * 创建于联盟应用ID:
     */
    @ApiModelProperty("创建于联盟应用ID")
    private String appId;

    @Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      OrgDto that = (OrgDto) o;
      return  organizationId == that.organizationId&&organizationCode == that.organizationCode&&organizationNumber == that.organizationNumber&&organizationName == that.organizationName&&isHighOrg == that.isHighOrg&&orgStructureModel == that.orgStructureModel&&isIntergration == that.isIntergration&&isOpenApprovalProcess == that.isOpenApprovalProcess&&isAllowImport == that.isAllowImport&&status == that.status&&spaceId == that.spaceId&&appId == that.appId;
    }

    @Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), organizationId,organizationCode,organizationNumber,organizationName,isHighOrg,orgStructureModel,isIntergration,isOpenApprovalProcess,isAllowImport,status,spaceId,appId);
    }
}
